/* 
 * File:   Dibujador.h
 * Author: nahuel
 *
 * Created on November 3, 2012, 11:16 AM
 */

#ifndef DIBUJADOR_H
#define	DIBUJADOR_H

#include <gtkmm-3.0/gtkmm/drawingarea.h>
#include <gdkmm/pixbuf.h>

/* Esta clase simplemente dibuja cosas en un Gtk::DrawingArea.
   Es la que tendrá que utilizar el diseñador de niveles para dibujar las
   entidades del juego.
 */

class Dibujador {
private:
	Gtk::DrawingArea* _drawingArea;
	Glib::RefPtr<Gdk::Pixbuf> _imagenPajaro;
	Glib::RefPtr<Gdk::Pixbuf> _imagenCerdito;
	Glib::RefPtr<Gdk::Pixbuf> _fondo;
	Glib::RefPtr<Gdk::Pixbuf> _imagenCaja;
		
public:
	Dibujador(Gtk::DrawingArea* drawingArea);
	void SetImagenPajaro(std::string pathImagen);
	void SetImagenCerdito(std::string pathImagen);
	void SetImagenCaja(std::string pathImagen);
	void SetImagenFondo(std::string pathImagen);	
	void DibujarFondo();
	void DibujarPajaro(unsigned int x, unsigned int y);
	void DibujarCerdito(unsigned int x, unsigned int y);
	void DibujarCaja(unsigned int x, unsigned int y);
	void DibujarLinea(unsigned int x1, unsigned int y1, 
					  unsigned int x2, unsigned int y2);
	virtual ~Dibujador();
};

#endif	/* DIBUJADOR_H */

